<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
    <title>Document</title>
</head>
<body>
    <!-- 准备一个容器 -->
    <div id="root">
      {{message}}
    </div>

</body>
<script>
    Vue.config.productionTip = false // 阻止 Vue在启动时生成生产提示
    
    const vm = new Vue({
        data: {
            message:'hello'
        }
    })

    /**
     *  注意：如果 Vue 实例在实例化时没有收到 el 选项，则它处于“未挂载”状态，没有关联的 DOM 元素。
     *       可以使用 vm.$mount() 手动地挂载一个未挂载的实例。（$mount()实例方法）
    */ 
    
    /**
     * 那么和之前通过属性el挂载有设么区别呢？
     *      个人解答：两者在使用上效率上没有太大区别,只不过通过$mount可以延迟挂载
     * */ 

    vm.$mount("#root");
    // vm.$mount(document.getElementById('root'));

    // 可以通过debugger 查看
    setTimeout(() => {
        vm.$mount("#app");
      }, 2000);
</script>

</html>